181C - Trading Business - CodeForces Solution


games graph matchings greedy *1200

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

const int N = 11, M = 101;

int n, m, k, a[N][M], b[N][M], c[N][M];

int main() {
    cin >> n >> m >> k;
    for (int i = 1; i <= n; i++) {
        string name;
        cin >> name;
        for (int j = 1; j <= m; j++) {
            cin >> a[i][j] >> b[i][j] >> c[i][j];
        }
    }
    int ans = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (i == j) {
                continue;
            }
            vector<int> vec;
            for (int x = 1; x <= m; x++) {
                for (int y = 1; y <= c[i][x]; y++) {
                    vec.push_back(b[j][x] - a[i][x]);
                }
            }
            sort(vec.begin(), vec.end());
            reverse(vec.begin(), vec.end());
            int sum = 0;
            for (int x = 0; x < min(k, (int)vec.size()); x++) {
                sum += max(vec[x], 0);
            }
            ans = max(ans, sum);
        }
    }
    cout << ans;
    return 0;
}/*1689884908.9791336*/


Comments

Submit
0 Comments
More Questions

1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence